package thread;

//工厂模式

class Point {
    //当这样出现重载的构造方法的时候呢，就会出现错误，但是如果我们有必要这样进行构造方法的时候呢
    //我们需要使用 —— 工厂模式 来解决总这个问题。
//    public Point(double x,double y) {
//
//    }
//
//    public Point(double r,double a) {
//
//    }
}

//这个类叫做 工厂类
class PointFactory {
    //工厂模式是使用 静态方法把构造对象 new 的过程各种属性初始化的过程封装起来

    //这个方法叫做 工厂方法
    public static Point makePointXY(double x,double y) {
        Point point = new Point();
        //通过 x 和 y 进行属性的设置
        return point;
    }

    public static Point makePointRA(double r,double a) {
        Point point = new Point();
        //通过 r 和 a 进行属性的设置
        return point;
    }
}
public class Demo24 {
    public static void main(String[] args) {
        Point point= PointFactory.makePointXY(20.5,10.5);
    }
}
